body {
    padding: 0 5vw;
}

form {
    margin-top: 17vw;
    text-align: center;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

form .tip {
    position: absolute;
    background: #1d2129;
    color: #fff;
    width: auto;
    padding: 2.8vw 5.6vw;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    animation: fadeInOut 3s ease-out;
    animation-fill-mode: forwards;
    display: none;
    border-radius: 1.33vw;
}

.error {
    border-color: #CB2634;
}

.success {
    border-color: #00b42a;
}

@keyframes fadeInOut {
    0% {
        opacity: 0;
    }
    20%,
    80% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

form .gender {
    width: 100%;
    text-align: left;
    margin-bottom: 5vw;
    font-size: 4vw;
    line-height: 4vw;
    color: #777777;
}

form .gender>label {
    padding: 0 3vw 0 2vw;
}

form>input {
    width: 100%;
    height: 11vw;
    box-sizing: border-box;
    margin-bottom: 5vw;
    text-indent: 3vw;
    border: 1px solid var(--border-color);
    font-size: 4vw;
    font-weight: normal;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #000000;
    position: relative;
}

.submit {
    text-indent: 0;
    color: #fff;
    width: 100%;
    background: var(--primary-color);
    border: none;
    height: 14vw;
    border-radius: 1vw;
    margin-top: 5vw;
    font-size: 4vw;
    font-weight: bold;
    letter-spacing: 0vw;
}

form .phone-num {
    width: 100%;
    height: 11vw;
    border: solid .1vw #b7b7b7;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

form .phone-num>select {
    width: 16vw;
    padding-left: 1vw;
    font-size: 4vw;
    font-weight: normal;
    height: 100%;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #777777;
    border: none;
}

form .phone-num>input {
    width: calc(100% - 18vw);
    font-size: 4vw;
    height: 100%;
    font-weight: normal;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #777777;
    border: none;
}

form .captcha {
    width: 100%;
    display: flex;
    margin-top: 5vw;
    justify-content: space-between;
    align-items: center;
}

form .captcha>input {
    box-sizing: border-box;
    width: 61vw;
    height: 11vw;
    text-indent: 3vw;
    border: 1px solid var(--border-color);
    font-size: 4vw;
    font-weight: normal;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #777777;
}

form .captcha>a {
    display: inline-block;
    width: 26vw;
    height: 11vw;
    border: solid .1vw #b7b7b7;
    font-size: 4vw;
    line-height: 11vw;
    font-weight: normal;
    box-sizing: border-box;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #777777;
}

.bottom {
    position: absolute;
    bottom: 5vw;
    font-size: 3vw;
    left: 24vw;
    text-align: center;
    font-weight: bold;
    font-stretch: normal;
    letter-spacing: 0vw;
    color: #999999;
}

.bottom a {
    text-decoration: underline;
    color: #999999;
    margin: 0 1vw;
}